1. Field
The disclosed embodiments relate to grid networks, especially to the management of a computing network implemented as a grid network.
2. Brief Description
The grid network is a distributed system, which distributes computing and data resources via a wide area network (WAN), for example through the Internet. Thus, the grid network enables combined and shared use of data networks, computers, databases and scientific instruments owned and managed by a number of different organizations.
The grid computing network is the most common embodiment of the grid network. In the grid computing network the computing tasks are performed between several client machines as a distributed batch run. The grid computing network is typically composed of at least one server node that controls the computation, and typically of several client nodes, each of them performing a determined part of the computation. The client nodes can be grouped separately into one or several client node clusters or groups, wherein for example the client nodes (i.e. individual computers) participating in the grid network of one organization, such as a university can form one cluster. The cluster typically comprises a front-end node that controls the computation in the client nodes of the cluster, as well as a maintenance node by means of which the administrators of the cluster and the server node can update the software and computing routines of the client nodes.
The intelligence of the grid computing network is primarily implemented by means of a so-called intermediate software that functions as an application layer connecting the nodes and converts the commands of computing applications in such a form that can be understood by the devices. Thus, servers and computers equipped with different operating systems can be made to operate in the same environment. Typically, in the grid computing network the input data of the computing and the computing application in use are transferred to a client node by means of intermediate software, which client node utilizes a core program of its own intermediate software to install and update the computing application, performs the computing on the basis of the input data and transmits the results to a server node after the computing.
Thus, in the client node the computing takes place by means of the core program of the intermediate software and the computing application, said computing application typically comprising one or several computing modules designed for specific computing routines. The loading and updating of the core software and computing applications has traditionally been one of the bottlenecks in the use of grid computing networks, and different kinds of intermediate software architectures have been developed to solve them.
One intermediate software architecture is known by the name UNICORE, which architecture, unlike most other intermediate software architectures, determines a highly integrated grid computing environment in which the compulsory software components of both the server nodes and the client nodes have been specified with precision. UNICORE is a Java™ platform based application utilizing Java™ platform run-time properties to update the computing modules. UNICORE comprises a so-called plugin mechanism, by means of which it is possible to add and update the computing modules in the client nodes during the run without having to update the core software itself. The UNICORE server node comprises a job preparation agent (JPA) for the computation tasks that provides a graphic user interface by means of which a user having administrator rights can determine the plugin module to be transmitted to a specific client node, which plugin module is automatically installed. More specific description of the UNICORE system, as well as other intermediate software architectures can be found in the address www.enacts.org/gridenabling.pdf.
Although the highly integrated UNICORE architecture is perhaps the most sophisticated intermediate software in view of updating the computing modules, it contains several deficiencies. Although the plugin-mechanism enables automatic updating of the computing modules in the client node, the maintainer of computing must, however, always determine the dependencies of the computing modules on the core software and other computing modules. The application programming interface API of UNICORE sets rather strict limitations to the way in which the plugin (i.e. the computing module) can use the core software and other computing modules. Furthermore, the automatic updating of the plugin mechanism only functions in computing modules; in order to update the core software itself it is necessary to interrupt all runs in the client node.